import {
    PayableOverrides,
    BigNumber ,
    BigNumberish,
    Overrides,
    CallOverrides
} from 'ethers';

export interface IArrtibuteFactoryClient {

    NewArrtibuteAssert(
        _artwork_name: string,
        _artwork_image_uri: string,
        _artwork_metadata_uri: string,
        total_issue_num: BigNumberish,
        name: string,
        symbol: string,
        overrides?: Overrides & { from?: string | Promise<string> }
      ): Promise<any>;
  
      getArtistIssue(
        _artist: string,
        overrides?: CallOverrides
      ): Promise<BigNumber[]>;
  
      getAssertByIndex(
        index: BigNumberish,
        overrides?: CallOverrides
      ): Promise<
         { _assert: string; _assertIndex: BigNumber }
      >;
  
      getAsserts(
        overrides?: CallOverrides
      ): Promise<
        ({ _assert: string; _assertIndex: BigNumber })[]
      >;
  
      getTraitType(
        overrides?: CallOverrides
      ): Promise<number>;
  
      owner(overrides?: CallOverrides): Promise<string>;

}
